package edu.gdut.thesissys.vo;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

/**
 * MidCheck entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "mid_check", catalog = "gdutmis")
public class MidCheck extends BaseVo implements java.io.Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 81733849551507131L;
	// Fields

	private Integer midCheckId;
	private Student student;
	private Teacher teacher;
	private String schedule;
	private String attitude;
	private String seekLiteratureAbility;
	private String qualityEvaluate;
	private String regulateTag;
	private String advisingTimes;
	private String completeOntimeTag;
	private String informationKeepTag;
	private String other;
	private String existQuestionAndMethod;
	private String state;
	private String scheduleExcuse;

	// Constructors

	/** default constructor */
	public MidCheck() {
	}

	/** full constructor */
	public MidCheck(Student student, Teacher teacher, String schedule,
			String attitude, String seekLiteratureAbility,
			String qualityEvaluate, String regulateTag, String advisingTimes,
			String completeOntimeTag, String informationKeepTag, String other,
			String existQuestionAndMethod, String state, String scheduleExcuse) {
		this.student = student;
		this.teacher = teacher;
		this.schedule = schedule;
		this.attitude = attitude;
		this.seekLiteratureAbility = seekLiteratureAbility;
		this.qualityEvaluate = qualityEvaluate;
		this.regulateTag = regulateTag;
		this.advisingTimes = advisingTimes;
		this.completeOntimeTag = completeOntimeTag;
		this.informationKeepTag = informationKeepTag;
		this.other = other;
		this.existQuestionAndMethod = existQuestionAndMethod;
		this.state = state;
		this.scheduleExcuse = scheduleExcuse;
	}

	// Property accessors
	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "mid_check_id", unique = true, nullable = false)
	public Integer getMidCheckId() {
		return this.midCheckId;
	}

	public void setMidCheckId(Integer midCheckId) {
		this.midCheckId = midCheckId;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "student_id")
	public Student getStudent() {
		return this.student;
	}

	public void setStudent(Student student) {
		this.student = student;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "teacher_id")
	public Teacher getTeacher() {
		return this.teacher;
	}

	public void setTeacher(Teacher teacher) {
		this.teacher = teacher;
	}

	@Column(name = "schedule", length = 8)
	public String getSchedule() {
		return this.schedule;
	}

	public void setSchedule(String schedule) {
		this.schedule = schedule;
	}

	@Column(name = "attitude", length = 6)
	public String getAttitude() {
		return this.attitude;
	}

	public void setAttitude(String attitude) {
		this.attitude = attitude;
	}

	@Column(name = "seek_literature_ability", length = 4)
	public String getSeekLiteratureAbility() {
		return this.seekLiteratureAbility;
	}

	public void setSeekLiteratureAbility(String seekLiteratureAbility) {
		this.seekLiteratureAbility = seekLiteratureAbility;
	}

	@Column(name = "quality_evaluate", length = 2)
	public String getQualityEvaluate() {
		return this.qualityEvaluate;
	}

	public void setQualityEvaluate(String qualityEvaluate) {
		this.qualityEvaluate = qualityEvaluate;
	}

	@Column(name = "regulate_tag", length = 2)
	public String getRegulateTag() {
		return this.regulateTag;
	}

	public void setRegulateTag(String regulateTag) {
		this.regulateTag = regulateTag;
	}

	@Column(name = "advising_times", length = 1)
	public String getAdvisingTimes() {
		return this.advisingTimes;
	}

	public void setAdvisingTimes(String advisingTimes) {
		this.advisingTimes = advisingTimes;
	}

	@Column(name = "complete_ontime_tag", length = 2)
	public String getCompleteOntimeTag() {
		return this.completeOntimeTag;
	}

	public void setCompleteOntimeTag(String completeOntimeTag) {
		this.completeOntimeTag = completeOntimeTag;
	}

	@Column(name = "information_keep_tag", length = 2)
	public String getInformationKeepTag() {
		return this.informationKeepTag;
	}

	public void setInformationKeepTag(String informationKeepTag) {
		this.informationKeepTag = informationKeepTag;
	}

	@Column(name = "other", length = 65535)
	public String getOther() {
		return this.other;
	}

	public void setOther(String other) {
		this.other = other;
	}

	@Column(name = "exist_question_and_method", length = 65535)
	public String getExistQuestionAndMethod() {
		return this.existQuestionAndMethod;
	}

	public void setExistQuestionAndMethod(String existQuestionAndMethod) {
		this.existQuestionAndMethod = existQuestionAndMethod;
	}

	@Column(name = "state", length = 1)
	public String getState() {
		return this.state;
	}

	public void setState(String state) {
		this.state = state;
	}

	@Column(name = "schedule_excuse", length = 100)
	public String getScheduleExcuse() {
		return this.scheduleExcuse;
	}

	public void setScheduleExcuse(String scheduleExcuse) {
		this.scheduleExcuse = scheduleExcuse;
	}

}